import store from "@/store/index.js"
import storage from "@/uni-sub-base/utils/storage.js"
import { addProductToFavorite } from "@/service/api/member.js"
import utilsOld from "@/utils/utilsOld.js"
const productUtil = {
    //�ղ�
    favoriteFn: (param) => {
        return new Promise((resolve, reject) => {
            addProductToFavorite(param).then((res) => {
                resolve(res.Msg)
            })
        })
    },
    // ��������
    changeArr(Arr, isNew, _this) {
        Arr.forEach((item) => {
            // ͼƬ�б�
            if (item.ImageUrl) {
                const ImgUrlList = utilsOld.strToArr(item.ImageUrl)
                item.logo = ImgUrlList[0]
            }
            if (item.ThumbnailUrl410) {
                item.logo = item.ThumbnailUrl410
            }
            // ������ʾ�Ķ�ֵ̬
            item.CurrentMaxPrice =
                item.SaleMaxPrice % 1 === 0
                    ? item.SaleMaxPrice
                    : Number(item.SaleMaxPrice.toFixed(_this.priceDecimalPlaces)) // ��ʾ��߼۸�
            item.CurrentMinPrice =
                item.SaleMinPrice % 1 === 0
                    ? item.SaleMinPrice
                    : Number(item.SaleMinPrice.toFixed(_this.priceDecimalPlaces)) // ��ʾ��ͼ۸�
            item.CurrentUnit = item.ProductUnitList[0].UnitName // ��ʾ��ǰ��λ
            item.CurrentUnitId = item.ProductUnitList[0].UnitId // ��ʾ��ǰ��λID
            item.CurrentStock = item.V_StockSum // ��ʾ��ǰ���
            item.UnitActiveIndex = 0 // �������ƷĬ����ʾ��һ���Ӽ���

            // ��λ������
            if (item.ProductUnitList.length > 0) {
                item.ProductUnitList.forEach((ite) => {
                    ite.Title = ite.UnitName + (ite.Ratio !== 1 ? "=" + ite.Ratio + item.CurrentUnit : "")
                    productUtil.initLoopArr(ite.ProductSkuAttrList)
                })
            }

            // ProductSkuList�����޸�
            item.ProductSkuList.forEach((ite) => {
                if (ite.ProductUnitPriceList[0]) {
                    ite.CurrentPrice =
                        ite.ProductUnitPriceList[0].Price % 1 === 0
                            ? ite.ProductUnitPriceList[0].Price
                            : Number(ite.ProductUnitPriceList[0].Price.toFixed(_this.priceDecimalPlaces))
                    ite.CurrentUnit = ite.ProductUnitPriceList[0].UnitName // ��ʾ��ǰ��λ
                    ite.CurrentUnitId = ite.ProductUnitPriceList[0].UnitId // ��ʾ��ǰ��λID
                    ite.UnitActiveIndex = 0 // �������ƷĬ����ʾ��һ���Ӽ���
                    ite.ProductUnitPriceList.forEach((it) => {
                        it.Amount = 0
                        it.Title = it.UnitName + (it.Ratio !== 1 ? "=" + it.Ratio + ite.CurrentUnit : "")
                    })
                }
            })
            if (isNew) {
                _this.datas.push(item)
            }
        })
    },
    initLoopArr(arr) {
        if (arr && arr.length > 0) {
            for (let i = 0; i < arr.length; i++) {
                if (arr[i].ProductAttrList && arr[i].ProductAttrList.length > 0) {
                    productUtil.initLoopArr(arr[i].ProductAttrList)
                } else {
                    if (arr[i].SkuModel && arr[i].SkuModel.ProductUnitPrice) {
                        arr[i].SkuModel.ProductUnitPrice.Amount = 0
                    }
                }
            }
        }
    },
}
module.exports = {
    favoriteFn: productUtil.favoriteFn,
    changeArr: productUtil.changeArr,
    initLoopArr: productUtil.initLoopArr,
}
